// ---------------------------------------------------------------------------------------------------------
// <autogenerated>
// File          : Participant.cs
// Date          : 2013/05/21 04:17:59
// XSD Filepath  : http://doodle.com/xsd1/participant.xsd
// XSD Namespace : http://doodle.com/xsd1
// CodeXS        : Version 0.57 Beta - 13 Jul 2006
// .NET Runtime  : Version 2.0.50727.3643
// Generation No.: 0001
//   -------------------------------------------------------------------------------------------------------
//   Code Modifiers:
//   Generator:
//     Assembly  : CodeXS.Schema
//     Namespace : CodeXS.Schema.CodeModifier.HeadComment
//     Version   : 0.57.0.0
//   Generator:
//     Assembly  : CodeXS.Schema.StandardCodeModifier
//     Namespace : CodeXS.Schema.StandardCodeModifier.ReferencesConstruct
//     Version   : 0.57.0.0
//   Generator:
//     Assembly  : CodeXS.Schema.StandardCodeModifier
//     Namespace : CodeXS.Schema.StandardCodeModifier.SerializationAttributes
//     Version   : 0.57.0.0
//   Generator:
//     Assembly  : CodeXS.Schema.StandardCodeModifier
//     Namespace : CodeXS.Schema.StandardCodeModifier.DeclarationCommentConstruct
//     Version   : 0.57.0.0
//   Generator:
//     Assembly  : CodeXS.Schema.StandardCodeModifier
//     Namespace : CodeXS.Schema.StandardCodeModifier.PropertyConstruct
//     Version   : 0.57.0.0
//   Generator:
//     Assembly  : CodeXS.Schema.StandardCodeModifier
//     Namespace : CodeXS.Schema.StandardCodeModifier.CollectionConstruct
//     Version   : 0.57.0.0
//   Generator:
//     Assembly  : CodeXS.Schema.StandardCodeModifier
//     Namespace : CodeXS.Schema.StandardCodeModifier.SerializationSupportConstruct
//     Version   : 0.57.0.0
//   Generator:
//     Assembly  : CodeXS.Schema.StandardCodeModifier
//     Namespace : CodeXS.Schema.StandardCodeModifier.SchemaLocationAttribute
//     Version   : 0.57.0.0
//   Generator:
//     Assembly  : CodeXS.Schema.StandardCodeModifier
//     Namespace : CodeXS.Schema.StandardCodeModifier.LanguageFixupConstruct
//     Version   : 0.57.0.0
//   Generator:
//     Assembly  : CodeXS.Schema.StandardCodeModifier
//     Namespace : CodeXS.Schema.StandardCodeModifier.SerializationClassConstruct
//     Version   : 0.57.0.0
//   Generator:
//     Assembly  : CodeXS.Schema.StandardCodeModifier
//     Namespace : CodeXS.Schema.StandardCodeModifier.CommonCodeClassConstruct
//     Version   : 0.57.0.0
//   Generator:
//     Assembly  : CodeXS.Schema.StandardCodeModifier
//     Namespace : CodeXS.Schema.StandardCodeModifier.CodeAttributeCleanup
//     Version   : 0.57.0.0
// 
// Notes:
// * Changes to this file may cause incorrect behaviour and will be lost if the code is regenerated.
// </autogenerated>
// ---------------------------------------------------------------------------------------------------------
namespace EasySchedule.DataModel
{
	using System;
	using System.IO;
	using System.Text;
	using System.Collections;
	using System.Xml;
	using System.Xml.Schema;
	using System.Xml.Serialization;
	
	/// <summary>
	/// EasySchedule.DataModel.ParticipantType Class implementation.
	/// </summary>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("Director", "0.0.57.0")]
    //[SerializableAttribute]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
    
	[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://doodle.com/xsd1")]
	[System.Xml.Serialization.XmlRootAttribute("participant", Namespace="http://doodle.com/xsd1", IsNullable=false)]
	public partial class ParticipantType
	{
		/// <summary>
		/// The private member referenced by the
		/// <see cref="id" /> property.
		/// </summary>
		private long @__id;
		/// <summary>
		/// The private member referenced by the
		/// <see cref="idSpecified" /> property.
		/// </summary>
		private bool @__idSpecified;
		/// <summary>
		/// The private member referenced by the
		/// <see cref="participantKey" /> property.
		/// </summary>
		private string @__participantKey;
		/// <summary>
		/// The private member referenced by the
		/// <see cref="name" /> property.
		/// </summary>
		private string @__name;
		/// <summary>
		/// The private member referenced by the
		/// <see cref="targetCalendarId" /> property.
		/// </summary>
		private string @__targetCalendarId;
		/// <summary>
		/// The private member referenced by the
		/// <see cref="userId" /> property.
		/// </summary>
		private string @__userId;
		/// <summary>
		/// The private member referenced by the
		/// <see cref="participantFirstName" /> property.
		/// </summary>
		private string @__participantFirstName;
		/// <summary>
		/// The private member referenced by the
		/// <see cref="participantLastName" /> property.
		/// </summary>
		private string @__participantLastName;
		/// <summary>
		/// The private member referenced by the
		/// <see cref="participantPostalAddress" /> property.
		/// </summary>
		private string @__participantPostalAddress;
		/// <summary>
		/// The private member referenced by the
		/// <see cref="participantEmailAddress" /> property.
		/// </summary>
		private string @__participantEmailAddress;
		/// <summary>
		/// The private member referenced by the
		/// <see cref="participantPhoneNumber" /> property.
		/// </summary>
		private string @__participantPhoneNumber;
		/// <summary>
		/// The private member referenced by the
		/// <see cref="preferences" /> property.
		/// </summary>
		private string[] @__preferences;
		/// <summary>
		/// The private member referenced by the
		/// <see cref="avatarSmallUri" /> property.
		/// </summary>
		private ParticipantTypeAvatarSmallUri @__avatarSmallUri;
		/// <summary>
		/// The private member referenced by the
		/// <see cref="avatarLargeUri" /> property.
		/// </summary>
		private ParticipantTypeAvatarLargeUri @__avatarLargeUri;
		/// <summary>
		/// Sets or gets the <see cref="__id" />
		/// value of the <see cref="ParticipantType" />
		/// object class.
		/// </summary>
		public long id
		{
			get
			{
				return this.@__id;
			}
			set
			{
				this.@__id = value;
				this.idSpecified = true;
			}
		}
		/// <summary>
		/// Sets or gets the <see cref="__idSpecified" />
		/// value of the <see cref="ParticipantType" />
		/// object class.
		/// </summary>
		[System.Xml.Serialization.XmlIgnoreAttribute()]
		public bool idSpecified
		{
			get
			{
				return this.@__idSpecified;
			}
			set
			{
				this.@__idSpecified = value;
			}
		}
		/// <summary>
		/// Sets or gets the <see cref="__participantKey" />
		/// value of the <see cref="ParticipantType" />
		/// object class.
		/// </summary>
		public string participantKey
		{
			get
			{
				return this.@__participantKey;
			}
			set
			{
				this.@__participantKey = value;
			}
		}
		/// <summary>
		/// Sets or gets the <see cref="__name" />
		/// value of the <see cref="ParticipantType" />
		/// object class.
		/// </summary>
		public string name
		{
			get
			{
				return this.@__name;
			}
			set
			{
				this.@__name = value;
			}
		}
		/// <summary>
		/// Sets or gets the <see cref="__targetCalendarId" />
		/// value of the <see cref="ParticipantType" />
		/// object class.
		/// </summary>
		public string targetCalendarId
		{
			get
			{
				return this.@__targetCalendarId;
			}
			set
			{
				this.@__targetCalendarId = value;
			}
		}
		/// <summary>
		/// Sets or gets the <see cref="__userId" />
		/// value of the <see cref="ParticipantType" />
		/// object class.
		/// </summary>
		public string userId
		{
			get
			{
				return this.@__userId;
			}
			set
			{
				this.@__userId = value;
			}
		}
		/// <summary>
		/// Sets or gets the <see cref="__participantFirstName" />
		/// value of the <see cref="ParticipantType" />
		/// object class.
		/// </summary>
		public string participantFirstName
		{
			get
			{
				return this.@__participantFirstName;
			}
			set
			{
				this.@__participantFirstName = value;
			}
		}
		/// <summary>
		/// Sets or gets the <see cref="__participantLastName" />
		/// value of the <see cref="ParticipantType" />
		/// object class.
		/// </summary>
		public string participantLastName
		{
			get
			{
				return this.@__participantLastName;
			}
			set
			{
				this.@__participantLastName = value;
			}
		}
		/// <summary>
		/// Sets or gets the <see cref="__participantPostalAddress" />
		/// value of the <see cref="ParticipantType" />
		/// object class.
		/// </summary>
		public string participantPostalAddress
		{
			get
			{
				return this.@__participantPostalAddress;
			}
			set
			{
				this.@__participantPostalAddress = value;
			}
		}
		/// <summary>
		/// Sets or gets the <see cref="__participantEmailAddress" />
		/// value of the <see cref="ParticipantType" />
		/// object class.
		/// </summary>
		public string participantEmailAddress
		{
			get
			{
				return this.@__participantEmailAddress;
			}
			set
			{
				this.@__participantEmailAddress = value;
			}
		}
		/// <summary>
		/// Sets or gets the <see cref="__participantPhoneNumber" />
		/// value of the <see cref="ParticipantType" />
		/// object class.
		/// </summary>
		public string participantPhoneNumber
		{
			get
			{
				return this.@__participantPhoneNumber;
			}
			set
			{
				this.@__participantPhoneNumber = value;
			}
		}
		/// <summary>
		/// Used for the serialization of the 
		/// <see cref="__preferences" /> value of the
		/// <see cref="ParticipantType" /> object class.
		/// </summary>
		/// <remarks>
		/// Used internally by the <see cref="XmlSerializer" /> class.
		/// </remarks>
		[System.Xml.Serialization.XmlArrayAttribute("preferences")]
		[System.Xml.Serialization.XmlArrayItemAttribute("option", DataType="integer", IsNullable=false)]
		public string[] _preferences
		{
			get
			{
				return this.@__preferences;
			}
			set
			{
				this.@__preferences = value;
			}
		}
		/// <summary>
		/// Sets or gets the <see cref="__preferences" />
		/// value of the <see cref="ParticipantType" />
		/// object class.
		/// </summary>
		[System.Xml.Serialization.XmlIgnoreAttribute()]
		public string[] preferences
		{
			get
			{
				if ((this.@__preferences == null))
				{
                    this.@__preferences = new string[1];
				}
				return this.@__preferences;
			}
			set
			{
				this.@__preferences = value;
			}
		}
		/// <summary>
		/// Used for the serialization of the 
		/// <see cref="__avatarSmallUri" /> value of the
		/// <see cref="ParticipantType" /> object class.
		/// </summary>
		/// <remarks>
		/// Used internally by the <see cref="XmlSerializer" /> class.
		/// </remarks>
		[System.Xml.Serialization.XmlElementAttribute("avatarSmallUri", Form=XmlSchemaForm.Qualified)]
		public ParticipantTypeAvatarSmallUri _avatarSmallUri
		{
			get
			{
				return this.@__avatarSmallUri;
			}
			set
			{
				this.@__avatarSmallUri = value;
			}
		}
		/// <summary>
		/// Sets or gets the <see cref="__avatarSmallUri" />
		/// value of the <see cref="ParticipantType" />
		/// object class.
		/// </summary>
		[System.Xml.Serialization.XmlIgnoreAttribute()]
		public ParticipantTypeAvatarSmallUri avatarSmallUri
		{
			get
			{
				if ((this.@__avatarSmallUri == null))
				{
					this.@__avatarSmallUri = new ParticipantTypeAvatarSmallUri();
				}
				return this.@__avatarSmallUri;
			}
			set
			{
				this.@__avatarSmallUri = value;
			}
		}
		/// <summary>
		/// Used for the serialization of the 
		/// <see cref="__avatarLargeUri" /> value of the
		/// <see cref="ParticipantType" /> object class.
		/// </summary>
		/// <remarks>
		/// Used internally by the <see cref="XmlSerializer" /> class.
		/// </remarks>
		[System.Xml.Serialization.XmlElementAttribute("avatarLargeUri", Form=XmlSchemaForm.Qualified)]
		public ParticipantTypeAvatarLargeUri _avatarLargeUri
		{
			get
			{
				return this.@__avatarLargeUri;
			}
			set
			{
				this.@__avatarLargeUri = value;
			}
		}
		/// <summary>
		/// Sets or gets the <see cref="__avatarLargeUri" />
		/// value of the <see cref="ParticipantType" />
		/// object class.
		/// </summary>
		[System.Xml.Serialization.XmlIgnoreAttribute()]
		public ParticipantTypeAvatarLargeUri avatarLargeUri
		{
			get
			{
				if ((this.@__avatarLargeUri == null))
				{
					this.@__avatarLargeUri = new ParticipantTypeAvatarLargeUri();
				}
				return this.@__avatarLargeUri;
			}
			set
			{
				this.@__avatarLargeUri = value;
			}
		}
		/// <summary>
		/// Gets the XML string for the serialized
		/// <see cref="ParticipantType" /> object.
		/// </summary>
		public virtual string Xml
		{
			get
			{
				return Serializer.ToXml(this, this.GetType());
			}
		}
		/// <summary>
		/// Creates a new <see cref="ParticipantType" /> 
		/// object from an XML string.
		/// </summary>
		/// <param name="Xml">
		/// XML string to create the object from.</param>
		/// <returns>
		/// A <see cref="ParticipantType" /> object.
		/// </returns>
		public static ParticipantType FromXml(string Xml)
		{
			return ((ParticipantType)(Serializer.FromXml(Xml, typeof(ParticipantType))));
		}
	}
	
}
